/**
 * README
 * 
 * Modificacion de la biblioteca jWave disponible en http://code.google.com/p/jwave/
 * Convertidos los tipos de datos a float para agilizar el tratamiendo de grandes arrays de datos
 * como son los que se tratan en analisis genomicos.
 * Los autores originales de las funciones y del código de la biblioteca cuando fue seleccionada en
 * Abril de 2012 eran:
 *        Christian Scheiblich
 *        Thomas Leduc
 *        sashi
 *        Pol Kennel
 *        Thomas Haider
 *        
 * Por supuesto, todo el merito, honores y demas menciones sobre esta adaptacion les corresponden a ellos
 * y nada mas que a ellos.
 * 
 * 
 * This is a modified version of jWave, available in http://code.google.com/p/jwave/
 * It has been replace the double datatype with float for performance reasons in very big arrays used in
 * bioinformatics like genomic analysis.
 * Original authors of functions and the library when it has been selected in 2012's April were:
 *        Christian Scheiblich
 *        Thomas Leduc
 *        sashi
 *        Pol Kennel
 *        Thomas Haider
 *        
 * Of course, all the merits and mentions about this adaptation have corresponded to them.
 * 
 */

package ev.maths.handlers.wavelets;

/**
 *Transformada ortonormal de la waverlet de  Alfred Haar.
 * 
 * @date 01.08.2012
 * @author Enrique Vázquez de Luis
 */
public class Haar02 extends Wavelet {

  /**
   * Constructor que inicializa los coeficientes y las escalas de la wavelet de Haar
   * de acuerdo a la normal euclidea. Vease la version ortogonal en la clase Haar02Orthogonal
   * para más detalles.
   * 
   * @date 01.08.2012
   * @author Enrique Vázquez de Luis
   */
  public Haar02( ) {

    _waveLength = 2;

    float sqrt02 = (float)Math.sqrt( 2. );
    
    _coeffs = new float[ _waveLength ];

    _coeffs[ 0 ] = (float) (1. / sqrt02); // w0 - normed by sqrt( 2 )
    _coeffs[ 1 ] = (float) (-1. / sqrt02); // w1 - normed by sqrt( 2 )

    _scales = new float[ _waveLength ];

    _scales[ 0 ] = -_coeffs[ 1 ]; // -w1
    _scales[ 1 ] = _coeffs[ 0 ]; // w0

  } // Haar02

  /**
   * La transformada wavelet utilizando la wavelet de Alfred Haar.
   * 
   * @date 01.08.2012
   * @author Enrique Vázquez de Luis
   * @see ev.maths.handlers.wavelets.Wavelet#forward(double[])
   */


  /**
   * La transformada inversa utilizando la wavelet de Alfred Haar.
   * 
   * @date 01.08.2012
   * @author Enrique Vázquez de Luis
   * @see ev.maths.handlers.wavelets.Wavelet#reverse(float[])
   */


} // class
